package com.chikitbd.shadowsocks.entity.ssr;

import java.util.ArrayList;
import java.util.List;

public class ShadowsocksRConfig {
	
	private List<Configs> configs = new ArrayList<>();
	
	private int index = 0;
	private boolean random  = false;
	private int sysProxyMode = 0;
	private boolean shareOverLan  = false;
	private int localPort = 0;
	private String localAuthPassword = "";
	private String dnsServer = "";
	private int reconnectTimes = 0;
	private int randomAlgorithm = 0;
	private boolean randomInGroup  = false;
	private int TTL = 0;
	private int connectTimeout = 0;
	private boolean proxyEnable  = false;
	private boolean pacDirectGoProxy  = false;
	private int proxyType = 0;
	private String proxyHost = "";
	private int proxyPort = 0;
	private String proxyAuthUser = "";
	private String proxyAuthPass = "";
	private String proxyUserAgent = "";
	private String authUser = "";
	private String authPass = "";
	private boolean autoBan  = false;
	private boolean sameHostForSameTarget  = false;
	private int keepVisitTime = 0;
	private boolean isHideTips  = false;
	private boolean nodeFeedAutoUpdate  = false;
	private List<ServerSubscribes> serverSubscribes = new ArrayList<>();
	private Token token = new Token();
	private PortMap portMap = new PortMap();
	public List<Configs> getConfigs() {
		return configs;
	}
	public void setConfigs(List<Configs> configs) {
		this.configs = configs;
	}
	public int getIndex() {
		return index;
	}
	public void setIndex(int index) {
		this.index = index;
	}
	public boolean isRandom() {
		return random;
	}
	public void setRandom(boolean random) {
		this.random = random;
	}
	public int getSysProxyMode() {
		return sysProxyMode;
	}
	public void setSysProxyMode(int sysProxyMode) {
		this.sysProxyMode = sysProxyMode;
	}
	public boolean isShareOverLan() {
		return shareOverLan;
	}
	public void setShareOverLan(boolean shareOverLan) {
		this.shareOverLan = shareOverLan;
	}
	public int getLocalPort() {
		return localPort;
	}
	public void setLocalPort(int localPort) {
		this.localPort = localPort;
	}
	public String getLocalAuthPassword() {
		return localAuthPassword;
	}
	public void setLocalAuthPassword(String localAuthPassword) {
		this.localAuthPassword = localAuthPassword;
	}
	public String getDnsServer() {
		return dnsServer;
	}
	public void setDnsServer(String dnsServer) {
		this.dnsServer = dnsServer;
	}
	public int getReconnectTimes() {
		return reconnectTimes;
	}
	public void setReconnectTimes(int reconnectTimes) {
		this.reconnectTimes = reconnectTimes;
	}
	public int getRandomAlgorithm() {
		return randomAlgorithm;
	}
	public void setRandomAlgorithm(int randomAlgorithm) {
		this.randomAlgorithm = randomAlgorithm;
	}
	public boolean isRandomInGroup() {
		return randomInGroup;
	}
	public void setRandomInGroup(boolean randomInGroup) {
		this.randomInGroup = randomInGroup;
	}
	public int getTTL() {
		return TTL;
	}
	public void setTTL(int tTL) {
		TTL = tTL;
	}
	public int getConnectTimeout() {
		return connectTimeout;
	}
	public void setConnectTimeout(int connectTimeout) {
		this.connectTimeout = connectTimeout;
	}
	public boolean isProxyEnable() {
		return proxyEnable;
	}
	public void setProxyEnable(boolean proxyEnable) {
		this.proxyEnable = proxyEnable;
	}
	public boolean isPacDirectGoProxy() {
		return pacDirectGoProxy;
	}
	public void setPacDirectGoProxy(boolean pacDirectGoProxy) {
		this.pacDirectGoProxy = pacDirectGoProxy;
	}
	public int getProxyType() {
		return proxyType;
	}
	public void setProxyType(int proxyType) {
		this.proxyType = proxyType;
	}
	public String getProxyHost() {
		return proxyHost;
	}
	public void setProxyHost(String proxyHost) {
		this.proxyHost = proxyHost;
	}
	public int getProxyPort() {
		return proxyPort;
	}
	public void setProxyPort(int proxyPort) {
		this.proxyPort = proxyPort;
	}
	public String getProxyAuthUser() {
		return proxyAuthUser;
	}
	public void setProxyAuthUser(String proxyAuthUser) {
		this.proxyAuthUser = proxyAuthUser;
	}
	public String getProxyAuthPass() {
		return proxyAuthPass;
	}
	public void setProxyAuthPass(String proxyAuthPass) {
		this.proxyAuthPass = proxyAuthPass;
	}
	public String getProxyUserAgent() {
		return proxyUserAgent;
	}
	public void setProxyUserAgent(String proxyUserAgent) {
		this.proxyUserAgent = proxyUserAgent;
	}
	public String getAuthUser() {
		return authUser;
	}
	public void setAuthUser(String authUser) {
		this.authUser = authUser;
	}
	public String getAuthPass() {
		return authPass;
	}
	public void setAuthPass(String authPass) {
		this.authPass = authPass;
	}
	public boolean isAutoBan() {
		return autoBan;
	}
	public void setAutoBan(boolean autoBan) {
		this.autoBan = autoBan;
	}
	public boolean isSameHostForSameTarget() {
		return sameHostForSameTarget;
	}
	public void setSameHostForSameTarget(boolean sameHostForSameTarget) {
		this.sameHostForSameTarget = sameHostForSameTarget;
	}
	public int getKeepVisitTime() {
		return keepVisitTime;
	}
	public void setKeepVisitTime(int keepVisitTime) {
		this.keepVisitTime = keepVisitTime;
	}
	public boolean isHideTips() {
		return isHideTips;
	}
	public void setHideTips(boolean isHideTips) {
		this.isHideTips = isHideTips;
	}
	public boolean isNodeFeedAutoUpdate() {
		return nodeFeedAutoUpdate;
	}
	public void setNodeFeedAutoUpdate(boolean nodeFeedAutoUpdate) {
		this.nodeFeedAutoUpdate = nodeFeedAutoUpdate;
	}
	public List<ServerSubscribes> getServerSubscribes() {
		return serverSubscribes;
	}
	public void setServerSubscribes(List<ServerSubscribes> serverSubscribes) {
		this.serverSubscribes = serverSubscribes;
	}
	public Token getToken() {
		return token;
	}
	public void setToken(Token token) {
		this.token = token;
	}
	public PortMap getPortMap() {
		return portMap;
	}
	public void setPortMap(PortMap portMap) {
		this.portMap = portMap;
	}
	
	
}
